package org.zjsru.order.web;

import org.springframework.stereotype.Component;
import org.zjsru.order.pojo.Product;
import java.math.BigDecimal;

@Component
public class ProductFeignClientFallback implements ProductFeignClient {
    @Override
    public String deductStock(Long productId, int count) {
        // 库存扣减失败的降级处理
        return "服务降级：商品服务库存扣减暂不可用";
    }

    @Override
    public String restoreStock(Long productId, int count) {
        return "服务降级：商品服务库存恢复暂不可用";
    }

    @Override
    public Product getProductDetail(Long productId, Long userId) {
        // 获取商品详情失败的降级处理
        // 返回一个默认的商品信息，例如用于计算订单总金额
        Product defaultProduct = new Product();
        defaultProduct.setId(productId); // 可以返回请求的商品ID，或者一个固定的默认商品ID
        defaultProduct.setName("默认商品 (降级)");
        defaultProduct.setPrice(new BigDecimal("0.00")); // 设置一个默认价格，例如0，或者一个预设的降级价格
        // 其他字段可以根据需要设置或留空
        
        return defaultProduct;
    }
}
